package com.jdy.haoduoaiteacher.util;//package com.jdy.haoduoaiteacher.util;
//
//import java.util.Calendar;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.zip.GZIPInputStream;
//
//import javax.crypto.Cipher;
//import javax.crypto.spec.IvParameterSpec;
//import javax.crypto.spec.SecretKeySpec;
//
//import android.app.Notification;
//import android.app.NotificationManager;
//import android.app.PendingIntent;
//import android.content.Context;
//import android.content.Intent;
//import android.content.pm.ApplicationInfo;
//import android.content.pm.PackageManager;
//import android.graphics.Bitmap;
//import android.graphics.BitmapFactory;
//import android.net.Uri;
//import android.support.v4.app.NotificationCompat;
//import android.util.Base64;
//
//import com.jdy.haoduoaiteacher.R;
//import com.jdy.haoduoaiteacher.activity.MainActivity;
//
//public class CommonTools {
//
//  /*
//   * time format hh:mm
//   * 
//   * @return minutes
//   */
//
//  public static boolean isGzipStream(byte[] bytes) {
//    int head = (bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00);
//    return (GZIPInputStream.GZIP_MAGIC == head);
//  }
//
//  public static long timeStr2milisenconds(String time) {
//    String[] list = time.split(":");
//    return (Long.parseLong(list[0]) * 3600 + Long.parseLong(list[1]) * 60) * 1000;
//  }
//
//  public static Object getVarValue(String varName,
//      HashMap<String, Object> lParam, HashMap<String, Object> sParam,
//      boolean mobile) {
//    if (varName.startsWith("l.")) {
//      Object paraValue = lParam.get(varName);
//      return paraValue;
//    } else if (varName.startsWith("s.")) {
//      Object paraValue = sParam.get(varName);
//      return paraValue;
//    } else if (varName.startsWith("g.")) {
//      Object paraValue = null;
//
//      return paraValue;
//    } else if (varName.startsWith("@")) {
//      StringBuilder sb = new StringBuilder(varName);
//      String newName = sb.substring(1);
//      Object intValue = Tools.strToInt(newName);
//      return intValue;
//    } else {
//      return varName;
//    }
//  }
//
//  public static String join(List<String> strAry, String join) {
//    StringBuffer sb = new StringBuffer();
//    for (int i = 0; i < strAry.size(); i++) {
//      if (i == (strAry.size() - 1)) {
//        sb.append(strAry.get(i));
//      } else {
//        sb.append(strAry.get(i)).append(join);
//      }
//    }
//
//    return new String(sb);
//  }
//
//  public static String decrypt(String key, String clear) {
//    try {
//      byte[] arrayOfByte1 = key.getBytes();
//      byte[] arrayOfByte2 = Base64.decode(clear.getBytes(), 2);
//      SecretKeySpec localSecretKeySpec = new SecretKeySpec(arrayOfByte1, "AES");
//      Cipher localCipher = Cipher.getInstance("AES");
//      localCipher.init(Cipher.DECRYPT_MODE, localSecretKeySpec,
//          new IvParameterSpec(arrayOfByte1));
//      return new String(localCipher.doFinal(arrayOfByte2));
//    } catch (Exception e) {
//      e.printStackTrace();
//      return null;
//    }
//
//  }
//
//  public static String getMapString(HashMap<String, Object> map, String key) {
//    String ret = null;
//    try {
//      ret = (String) map.get(key);
//    } catch (Exception e) {
//    }
//    return ret;
//  }
//
//  public static int getMapInt(HashMap<String, Object> map, String key) {
//    int ret = 0;
//    try {
//      ret = (Integer) map.get(key);
//    } catch (Exception e) {
//      try {
//        ret = Tools.strToInt(map.get(key));
//      } catch (Exception e1) {
//        ret = 0;
//      }
//    }
//    return ret;
//  }
//
//  public static Boolean getMapBool(HashMap<String, Object> map, String key) {
//    boolean ret = false;
//    try {
//      ret = (Boolean) map.get(key);
//    } catch (Exception e) {
//      ret = false;
//    }
//    return ret;
//  }
//
//  /**
//   * 判断支付宝是否安装
//   * 
//   * @return
//   */
//  // public static boolean isInstallAliPayClient(Context ctx) {
//  // PackageManager manager = ctx.getPackageManager();
//  // if (manager == null) {
//  // return false;
//  // }
//  // List<PackageInfo> pkgList = manager.getInstalledPackages(0);
//  // for (int i = 0; i < pkgList.size(); i++) {
//  // PackageInfo pI = pkgList.get(i);
//  // if (pI.packageName.equalsIgnoreCase("com.eg.android.AlipayGphone")) {
//  // return true;
//  // }
//  // }
//  // return false;
//  // }
//
//  /**
//   * 是否已预售
//   * 
//   * @return
//   */
//  // public static boolean isSaleOpen(Date date) {
//  // return getSaleDayGap(date) <= 0;
//  // }
//
//  /**
//   * // * 当天开售也要加上闹钟 // * // * @return //
//   */
//  // public static boolean isNeedAlarm(Date date) {
//  // return getSaleDayGap(date) >= 0;
//  // }
//
//  public static int getDaysBetween(Date startDate, Date endDate) {
//    Calendar fromCalendar = Calendar.getInstance();
//    fromCalendar.setTime(startDate);
//    fromCalendar.set(Calendar.HOUR_OF_DAY, 0);
//    fromCalendar.set(Calendar.MINUTE, 0);
//    fromCalendar.set(Calendar.SECOND, 0);
//    fromCalendar.set(Calendar.MILLISECOND, 0);
//
//    Calendar toCalendar = Calendar.getInstance();
//    toCalendar.setTime(endDate);
//    toCalendar.set(Calendar.HOUR_OF_DAY, 0);
//    toCalendar.set(Calendar.MINUTE, 0);
//    toCalendar.set(Calendar.SECOND, 0);
//    toCalendar.set(Calendar.MILLISECOND, 0);
//
//    return (int) ((toCalendar.getTimeInMillis() - fromCalendar
//        .getTimeInMillis()) / (1000 * 60 * 60 * 24));
//  }
//
//  // /**
//  // *
//  // * @param buyDate
//  // * 发车日期
//  // * @return 返回还有几天可购买，已预售的返回0
//  // */
//  public static int getSaleDayGap(Date buyDate) {
//    Date today = new Date();
//    int gap = getDaysBetween(today, buyDate);
//    if (gap <= 0) {
//      return gap;
//    }
//    //
//    // int salegapNormal = (Integer) MyTeacherApp.globalMeta
//    // .get("ticket_day_range");
//
//    int salegapNormal = 60;
//
//    // for (GrabTaskTime time : MyTeacherApp.globalPreSellTicketArray) {
//    // if (getDaysBetween(time.getStartTime(), today) >= 0) {
//    // salegapNormal = time.getGap();
//    // }
//    // }
//    //
//    // for (GrabTaskTime time : MyTeacherApp.globalPreSellTicketArray) {
//    // gap = getDaysBetween(time.getStartTime(), buyDate) - (time.getGap() - 1);
//    // if (gap <= 0) {
//    // return getDaysBetween(today, time.getStartTime());
//    // }
//    // }
//
//    // 异常情况
//
//    gap = getDaysBetween(today, buyDate) - (salegapNormal - 1);
//    return gap;
//
//  }
//
//  // 根据起始日期获取预售时间
//  public static int getPresaleDaysByStartDate(Date date) {
//    // int preSaleDays = (Integer) MyTeacherApp.globalMeta
//    // .get("ticket_day_range");
//
//    int preSaleDays = 0;
//
//    // for (GrabTaskTime time : MyTeacherApp.globalPreSellTicketArray) {
//    // if (time.matchStartTime(date)) {
//    // return time.getGap();
//    // }
//    // }
//    return preSaleDays;
//  }
//
//  //
//  // public static boolean isStudentDate(Date date) {
//  // try {
//  // String[] summerList = (MyTeacherApp.globalMeta.get("summer_day") + "")
//  // .split("-");
//  // String[] winterList = (MyTeacherApp.globalMeta.get("winter_day") + "")
//  // .split("-");
//  //
//  // SimpleDateFormat formater = new SimpleDateFormat("MMdd", Locale.CHINA);
//  // String nowStr = formater.format(date);
//  //
//  // if ((nowStr.compareTo(summerList[0]) >= 0 && nowStr
//  // .compareTo(summerList[1]) <= 0)
//  // || (nowStr.compareTo(winterList[0]) >= 0 || nowStr
//  // .compareTo(winterList[1]) <= 0)) {
//  // return true;
//  // }
//  // } catch (Exception e) {
//  // e.printStackTrace();
//  // }
//  //
//  // return false;
//  // }
//
//  // /**
//  // * cookie 管理
//  // *
//  // * @param accountId
//  // * @param cookie
//  // */
//  // public static void setCookie(String cookie, String path, String domain) {
//  //
//  // CookieSyncManager.createInstance(AppContext.getInstance().getContext());
//  // CookieManager cookieManager = CookieManager.getInstance();
//  // cookieManager.setAcceptCookie(true);
//  //
//  // String target = cookie + ";Path=" + path + ";Domain=" + "." + domain + ";";
//  // cookieManager.setCookie(domain, target);
//  //
//  // CookieSyncManager.getInstance().sync();
//  // }
//  //
//  // public static void clearCookie() {
//  // CookieSyncManager.createInstance(AppContext.getInstance().getContext());
//  // CookieManager cookieManager = CookieManager.getInstance();
//  // cookieManager.setAcceptCookie(true);
//  //
//  // cookieManager.removeAllCookie();
//  // CookieSyncManager.getInstance().sync();
//  // }
//
//  public static long simpleHash(String s) {
//    if (Tools.isEmpty(s)) {
//      return 0;
//    }
//    if (s.length() > 128) {
//      s = s.substring(0, 128);
//    }
//    double sum = 0;
//
//    for (int i = 0; i < s.length(); i++) {
//      sum = sum * 5 + s.charAt(i);
//    }
//    sum = sum % 4611686018427387904L;
//    if (sum < 0) {
//      sum = 0 - sum;
//    }
//
//    return Double.valueOf(sum).longValue();
//  }
//
//  // public static int getTimePart(String time) throws ParseException {
//  // long minis = CommonTools.timeStr2milisenconds(time);
//  // int timeP = (int) (minis / (1000 * 60));
//  //
//  // if (0 <= timeP && timeP < 360) {
//  // // 凌晨
//  // return 1;
//  // } else if (360 <= timeP && timeP < 720) {
//  // // 上午
//  // return 2;
//  // } else if (720 <= timeP && timeP < 1080) {
//  // // 下午
//  // return 3;
//  // } else {
//  // // 晚上
//  // return 4;
//  // }
//  // }
//
//  static public void notifyTicket(Context context, String msg, boolean sound) {
//    try {
//      String packageName = context.getPackageName();
//      ApplicationInfo info = context.getPackageManager().getApplicationInfo(
//          packageName, PackageManager.GET_META_DATA);
//
//      String title = info.loadLabel(context.getPackageManager()).toString();
//
//      Intent notificationIntent = new Intent();
//
//      notificationIntent.setAction(Intent.ACTION_MAIN);
//      notificationIntent.setClass(context, MainActivity.class);
//
//      notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
//      notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//
//      PendingIntent intentNew = PendingIntent.getActivity(context, 0,
//          notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//
//      long when = System.currentTimeMillis();
//      NotificationManager notificationManager = (NotificationManager) context
//          .getSystemService(Context.NOTIFICATION_SERVICE);
//      Bitmap largeIcon = BitmapFactory.decodeResource(context.getResources(),
//          R.drawable.ic_xiaoxiaoban);
//      Notification notification = null;
//      NotificationCompat.Builder builder = new NotificationCompat.Builder(
//          context).setContentTitle(title).setWhen(when).setAutoCancel(true)
//          .setTicker(msg).setSmallIcon(R.drawable.ic_xiaoxiaoban)
//          .setLargeIcon(largeIcon).setContentIntent(intentNew)
//          .setContentText(msg);
//      notification = new NotificationCompat.BigTextStyle(builder).bigText(msg)
//          .build();
//
//      if (sound) {
//        notification.sound = Uri.parse("android.resource://"
//            + context.getPackageName() + "/" + R.raw.incoming_voice);
//      }
//
//      // 点击通知栏中的"清除通知"后，此通知不清除
//      notification.flags |= Notification.FLAG_NO_CLEAR;
//
//      notificationManager.notify(0, notification);
//    } catch (Exception e) {
//
//    }
//  }
// }
